home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / bin / debconf-escape < prev    next >
Text File  |  2008-10-10  |  646b  |  47 lines

  1. #!/usr/bin/perl -w
  2. # This file was preprocessed, do not edit!
  3.  
  4.  
  5. use strict;
  6. use Getopt::Long;
  7.  
  8. use vars qw($escape $unescape);
  9.  
  10. sub usage {
  11.     print STDERR <<EOF;
  12. Usage: debconf-unescape -e|-u < input-text
  13.   -e, --escape      escape text
  14.   -u, --unescape    unescape text
  15.  
  16. Exactly one of -e or -u must be used.
  17. EOF
  18.     exit(1);
  19. }
  20.  
  21. $escape=0;
  22. $unescape=0;
  23.  
  24. GetOptions(
  25.     "escape|e" => \$escape,
  26.     "unescape|u" => \$unescape,
  27. ) || usage();
  28.  
  29. if ($escape == $unescape) {
  30.     usage();
  31. }
  32.  
  33. if ($escape) {
  34.     while (<>) {
  35.         s/\\/\\\\/g;
  36.         s/\n/\\n/g;
  37.         print;
  38.     }
  39. } else {
  40.     while (<>) {
  41.         for (split /(\\.)/) {
  42.             s/\\(.)/$1 eq "n" ? "\n" : $1/eg;
  43.             print;
  44.         }
  45.     }
  46. }
  47.